package annotation;

import java.lang.annotation.*;

@Target({ElementType.TYPE,ElementType.FIELD,ElementType.ANNOTATION_TYPE,ElementType.TYPE_USE,
ElementType.TYPE_PARAMETER,ElementType.METHOD,ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(Args.class)
public @interface ArgEntry {
    String name() default "";
    ArgType type() default ArgType.STRING;
    String stringValue() default "";
    int intValue() default 0;
    long longValue() default 0L;
    float floatValue() default 0;
    double doubleValue() default 0;
    Class<?> classValue() default ArgType.class;

    String[] stringArray() default {};
    enum ArgType{
        INT,LONG,FLOAT,DOUBLE,STRING,CLASS,
        STRING_ARRAY;

    }
}
